#include <dae_solver_interface.hpp>
Public Types | |
typedef DAEBuilder< T, I > ::VectorType | VectorType |
typedef DAEBuilder< T, I > ::MatrixType | MatrixType |
typedef DAEBuilder< T, I > ::Jacobian | JacobianBuilder |
typedef DAEBuilder< T, I > ::Function | FunctionBuilder |
typedef DAEBuilder< T, I > ::StepFunction | StepFunction |
Public Member Functions | |
DAESolverInterface (void) | |
Default constructor. | |
virtual | ~DAESolverInterface (void) |
Destructor. | |
void | initialize (const double &t0, const double &deltat0, VectorType &x0) |
Initialize the solver. | |
void | solve (double &maxtime, int &maxsteps) |
Solve the system to when end_time or maxsteps is exceeded. | |
void | preStep (StepFunction &f) |
Set a function to call before each time step. | |
void | postStep (StepFunction &f) |
Set a function to call before each time step. |
typedef DAEBuilder<T, I>::Function gridpack::math::DAESolverInterface< T, I >::FunctionBuilder |
Reimplemented in gridpack::math::DAESolverT< T, I >, and gridpack::math::DAESolverImplementation< T, I >.
typedef DAEBuilder<T, I>::Jacobian gridpack::math::DAESolverInterface< T, I >::JacobianBuilder |
Reimplemented in gridpack::math::DAESolverT< T, I >, and gridpack::math::DAESolverImplementation< T, I >.
typedef DAEBuilder<T, I>::MatrixType gridpack::math::DAESolverInterface< T, I >::MatrixType |
Reimplemented in gridpack::math::DAESolverT< T, I >, and gridpack::math::DAESolverImplementation< T, I >.
typedef DAEBuilder<T, I>::StepFunction gridpack::math::DAESolverInterface< T, I >::StepFunction |
Reimplemented in gridpack::math::DAESolverT< T, I >, and gridpack::math::DAESolverImplementation< T, I >.
typedef DAEBuilder<T, I>::VectorType gridpack::math::DAESolverInterface< T, I >::VectorType |
Reimplemented in gridpack::math::DAESolverT< T, I >, and gridpack::math::DAESolverImplementation< T, I >.
gridpack::math::DAESolverInterface< T, I >::DAESolverInterface | ( | void | ) |
Default constructor.
virtual gridpack::math::DAESolverInterface< T, I >::~DAESolverInterface | ( | void | ) | [virtual] |
Destructor.
void gridpack::math::DAESolverInterface< T, I >::initialize | ( | const double & | t0, | |
const double & | deltat0, | |||
VectorType & | x0 | |||
) |
Initialize the solver.
t0 | start time, corresponding to x0 | |
deltat0 | initial time step | |
x0 | initial solution corresponding to t0 |
Reimplemented in gridpack::math::DAESolverT< T, I >.
void gridpack::math::DAESolverInterface< T, I >::postStep | ( | StepFunction & | f | ) |
Set a function to call before each time step.
void gridpack::math::DAESolverInterface< T, I >::preStep | ( | StepFunction & | f | ) |
Set a function to call before each time step.
void gridpack::math::DAESolverInterface< T, I >::solve | ( | double & | maxtime, | |
int & | maxsteps | |||
) |
Solve the system to when end_time
or maxsteps
is exceeded.
This solves the system from the initial time specified by initialize() or continues the solution from the end time of the previous call to solve(). After the solution completes, the solution is placed back in the Vector passed to initialize()
maxtime | time at which solution is to end (in); actual time at which solution ended (out) | |
maxsteps | maximum number of time steps to perform (in); actual number of time steps performed | |
solution | system solution at maxtime (out) |
Reimplemented in gridpack::math::DAESolverT< T, I >.